

local M={}

local ConnectClass=_G.CommonOHOH.load.Connect();

function M.CreateConnectEvent(player)

	player.OnboardingFunnelEvent=ConnectClass.new() --统计事件


    player.UserDataEvent=ConnectClass.new() --用户数据发生改变
	player.TrainingCdEvent=ConnectClass.new() --训练Cd
	player.AttackCdEvent=ConnectClass.new() --攻击Cd
	player.FriendAwakeEvent=ConnectClass.new() --好友觉醒

	player.TryAttackEvent=ConnectClass.new()--尝试发起一次攻击(不做任何条件检测，可能失败)

	player.OneTrainEvent=ConnectClass.new() --一次成功训练
	player.OneAttackEvent=ConnectClass.new() --一次成功攻击

	player.LevelPassEvent=ConnectClass.new() --通关


	player.GetAttackCDEvent=ConnectClass.new()--获取攻击Cd事件
	player.GetAttackDamgeEvent=ConnectClass.new()--获取攻击力事件

	player.AttackValueBaseEvent=ConnectClass.new()--攻击数值,基础值
	player.AttackValueMulEvent=ConnectClass.new()--攻击数值,乘法倍率（加乘)
	player.AttackValueAddEvent=ConnectClass.new()--攻击数值，加法绝对值
	player.AttackValueMul2Event=ConnectClass.new()--攻击数值,乘法倍率（累乘)

	
	player.TrainValueBaseEvent=ConnectClass.new()--训练伤害数值，基础值
	player.TrainValueMulEvent=ConnectClass.new()--训练伤害数值，乘法倍率（加乘)
	player.TrainValueAddEvent=ConnectClass.new()--训练伤害数值，加法绝对值
	player.TrainValueMul2Event=ConnectClass.new()--训练伤害数值，乘法倍率（累乘)

	
	player.ExpValueBaseEvent=ConnectClass.new()--训练经验数值，基础值
	player.ExpValueMulEvent=ConnectClass.new()--训练经验数值，乘法倍率（加乘)
	player.ExpValueMul2Event=ConnectClass.new()--训练经验数值，乘法倍率（累乘)
	player.ExpValueAddEvent=ConnectClass.new()--训练经验数值，加法绝对值


	player.TrainCdBaseEvent=ConnectClass.new()--训练Cd数值，基础值
	player.TrainCdMulEvent=ConnectClass.new()--训练Cd数值，乘法倍率
	player.TrainCdAddEvent=ConnectClass.new()--训练Cd数值，加法绝对值

	player.AttackCdBaseEvent=ConnectClass.new()--攻击Cd数值，基础值
	player.AttackCdMulEvent=ConnectClass.new()--攻击Cd数值，乘法倍率
	player.AttackCdAddEvent=ConnectClass.new()--攻击Cd数值，加法绝对值



	player.HpValueBaseEvent=ConnectClass.new()--血量，基础值
	player.HpValueMulEvent=ConnectClass.new()--血量，乘法倍率（加乘)
	player.HpValueMul2Event=ConnectClass.new()--血量，乘法倍率（累乘)
	player.HpValueAddEvent=ConnectClass.new()--血量，加法绝对值


	player.SpeedValueAddEvent=ConnectClass.new()--移动速度，加法绝对值

	player.LuckyValueBaseEvent=ConnectClass.new()--幸运值,基础值
	player.LuckyValueMulEvent=ConnectClass.new()--幸运值,乘法倍率
	player.LuckyValueAddEvent=ConnectClass.new()--幸运值，加法绝对值
	


	-- 点数相关
	player.SpeedPointChangeEvent=ConnectClass.new()--某点数发生变化
	--伤害点数
	player.DamgePointChangeEvent=ConnectClass.new()--某点数发生变化
	--幸运点数
	player.LuckyPointChangeEvent=ConnectClass.new()--某点数发生变化
	--防御
	player.HpPointChangeEvent=ConnectClass.new()--某点数发生变化

	--等级发生变化
	player.LevelChangeEvent=ConnectClass.new()--等级发生变化


	player.FindAttackTargetEvent=ConnectClass.new()--寻找攻击目标位置，
	-- 返回的数据格式
	-- {             
	-- 	obj=m, --攻击目标
	-- 	dis=d,
	-- 	pos=mPos,--攻击位置
	-- }

	player.AttackTouchCheckEnemy=ConnectClass.new()--远程武器攻击过程中，进行敌人检测


	player.DropMulEvent=ConnectClass.new() --掉落处理,会传入掉落的key，已判断是否双倍

	player.IsKillEnemyEvent=ConnectClass.new() --是否击杀敌人

	player.DeadBeforeEvent=ConnectClass.new() --死亡前

	player.BattleSateEvent=ConnectClass.new() -- 战斗状态改变
	player.KillMonsterEvent=ConnectClass.new() --怪被击杀

	player.CharacterEnterEvent=ConnectClass.new() --角色进入

	player.AutoAttckEvent=ConnectClass.new() --自动攻击状态切换
	player.AutoTrainEvent=ConnectClass.new() --自动训练状态切换
	player.HurtEvent=ConnectClass.new() -- 受伤
    player.DeadEvent=ConnectClass.new() -- 死亡

	player.ShootEvent=ConnectClass.new() --玩家开始射击

	player.ResuceEvent=ConnectClass.new()--营救奖励通关

	player.WalkSpeedEvent=ConnectClass.new() --行走速度

	player.PurchaseEvent=ConnectClass.new()--内购时间（传送GID）
	player.PetLuckyEvent=ConnectClass.new() --幸运值Luck


	player.RobuxBuyEvent=ConnectClass.new() --使用罗宝购买发起（客户端发起）
	player.RobuxBuyDoneEvent=ConnectClass.new() --完成购买商品逻辑，监听发放商品
	player.CanNotRobuxBuyEvent=ConnectClass.new() --不能使用罗宝购买检测（返回值为true，表示不能购买）

	player.FindCombatantEvent=ConnectClass.new() --寻找参与战斗的对象(一切有血量或者攻击力的对象)

	player.PetEuqipUpdateEvent=ConnectClass.new() --宠物发生了更新
	player.PetRandomCreateEvent=ConnectClass.new() --宠物随机创建
	player.HatchEggEvent=ConnectClass.new() --摇蛋事件


	player.MakeGoldPetCountEvent=ConnectClass.new() --制作黄金宠物所需数量
	player.MakeVoidPetTimeScalEvent=ConnectClass.new() --制作虚空宠物所需时间

end



function M.AddCommonComponent(player)

	
	player:AddComponent(_G.CommonOHOH.load.Common_DebugGM()); --统计

	player:AddComponent(_G.CommonOHOH.load.Common_RobloxGACtrl()); --统计

	--常规
	player:AddComponent(_G.CommonOHOH.load.Common_PlayerToolCtrl()); --公共函数
	player:AddComponent(_G.CommonOHOH.load.Common_BuffCtrl()) --buff管理器
	player:AddComponent(_G.CommonOHOH.load.Common_ActionSynchronize()) --同步操作
	player:AddComponent(_G.CommonOHOH.load.Common_MallCtrl()); --商城（购买控制器）
	player:AddComponent(_G.CommonOHOH.load.Common_RankCtrl()); --排行榜


	--功能
	player:AddComponent(_G.CommonOHOH.load.Common_GuideCtrl()); --新手引导
	player:AddComponent(_G.CommonOHOH.load.Common_PointCtrl()); --加点
	player:AddComponent(_G.CommonOHOH.load.Common_SettingCtrl()); --设置
	player:AddComponent(_G.CommonOHOH.load.Common_BroCtrl());  --好友
	player:AddComponent(_G.CommonOHOH.load.Common_TradeCtrl()); --交易
	player:AddComponent(_G.CommonOHOH.load.Common_RebirthCtrl()); --重生
	player:AddComponent(_G.CommonOHOH.load.Common_WeaponStoreCtrl()); --武器
	player:AddComponent(_G.CommonOHOH.load.Common_WeaponDropCtrl()); --武器掉落
	player:AddComponent(_G.CommonOHOH.load.Common_PetCtrl()); --宠物
	player:AddComponent(_G.CommonOHOH.load.Common_AttackCtrl()); --攻击控制
	player:AddComponent(_G.CommonOHOH.load.Common_AttributeCtrl()); --属性
	player:AddComponent(_G.CommonOHOH.load.Common_TrainCtrl()); --训练
	player:AddComponent(_G.CommonOHOH.load.Common_TradeCtrl()); --交易
	player:AddComponent(_G.CommonOHOH.load.Common_ShopCtrl()); --商店界面
	player:AddComponent(_G.CommonOHOH.load.Common_SynchronizeBullet()); --同步子弹显示

	-- player:AddComponent(_G.CommonOHOH.load.Common_BattleCtrl()); --战斗控制

	player:AddComponent(_G.CommonOHOH.load.Common_TeleportCtrl());
	

	-- 活动
	player:AddComponent(_G.CommonOHOH.load.Common_FriendBoostCtrl());--好友加成
	player:AddComponent(_G.CommonOHOH.load.Common_SinginCtrl()); --签到
	player:AddComponent(_G.CommonOHOH.load.Common_SpinCtrl()); --转盘
	player:AddComponent(_G.CommonOHOH.load.Common_OpEggCtrl()); --在线OP蛋
	player:AddComponent(_G.CommonOHOH.load.Common_QuestCtrl());--在线任务
	player:AddComponent(_G.CommonOHOH.load.Common_OnLineRewardCtrl()); --在线领取
	player:AddComponent(_G.CommonOHOH.load.Common_StartPackCtrl()); --首充礼包
	player:AddComponent(_G.CommonOHOH.load.Common_FavoriteGameCtrl());--收藏游戏
	player:AddComponent(_G.CommonOHOH.load.Common_JionGroupCtrl());--加入群组
	player:AddComponent(_G.CommonOHOH.load.Common_LikeGameCtrl());--点赞


end

return M